home *** CD-ROM | disk | FTP | other *** search
/ Gekkan Dennou Club 147 / Gekkan Dennou Club - 2000.8 Vol. 147 (Japan).7z / Gekkan Dennou Club - 2000.8 Vol. 147 (Japan) (Track 1).bin / games / sakiba / source / jndata.c < prev    next >
Text File  |  2000-06-22  |  7KB  |  252 lines

  1. /*******************************************************
  2.  
  3.     格闘シミュレーション「さきば」
  4.  
  5.         キャラクタデータ(ブルージーンズ)
  6.  
  7.  *******************************************************/
  8.  
  9. #include    <stdio.h>
  10.  
  11. #include    "sakiba.h"
  12. #include    "chranim.h"
  13.  
  14.  
  15. /************************
  16.     スプライトパターン
  17.  ************************/
  18. static CODE    walk0_l[] = {0x0000, 0x0010};        /* 通常 */
  19. static CODE    walk1_l[] = {0x0001, 0x0011};
  20. static CODE    walk2_l[] = {0x0002, 0x0012};
  21. static CODE    walk0_r[] = {0x0003, 0x0013};
  22. static CODE    walk1_r[] = {0x0004, 0x0014};
  23. static CODE    walk2_r[] = {0x0005, 0x0015};
  24. static CODE    stand[]   = {0x0006, 0x0016};
  25.  
  26. static CODE    punch0[]  = {0x0007, 0x0017};        /* パンチ */
  27. static CODE    punch1[]  = {0x0008, 0x0018};
  28. static CODE    punch2[]  = {0x0009, 0x0019};
  29. static CODE    punch3[]  = {0x4009, 0x4019};
  30.  
  31. static CODE    jump0[]   = {0x000a, 0x001a};        /* ジャンプ */
  32. static CODE    jump1[]   = {0x000b, 0x001b};
  33. static CODE    jump2[]   = {0x000c, 0x001c};
  34. static CODE    jump3[]   = {0x000d, 0x001d};
  35.  
  36. static CODE    guard_l[] = {0x000e, 0x001e};        /* 防御 */
  37. static CODE    guard_r[] = {0x000f, 0x001f};
  38.  
  39. static CODE    lose[]    = {0x0020, 0x0030};        /* 負け */
  40.  
  41. static CODE    glove_l[] = {0x012f};            /* グローブ */
  42. static CODE    glove_r[] = {0x412f};
  43.  
  44. static CODE    piyo0[]   = {0x022b};            /* ひよこ */
  45. static CODE    piyo1[]   = {0x022c};
  46. static CODE    piyo2[]   = {0x022d};
  47. static CODE    piyo3[]   = {0x022e};
  48.  
  49.  
  50. enum {    WALK0 = 0, WALK1, WALK2, BACK0, BACK1, BACK2, STAND0, GUARD, LOSE,
  51.     PUNCH0, PUNCH1, PUNCH2, PUNCH3, JUMP0, JUMP1, JUMP2, JUMP3,
  52.     GLOVE, PIYO0, PIYO1, PIYO2, PIYO3,
  53.     STAND1 = WALK0, STAND2 = BACK0,
  54.     PAT_END
  55. };
  56.  
  57. static
  58. CHR_PAT    chr_pat[] = {
  59.         {1, 2, walk0_l, walk0_r},        /* 通常 */
  60.         {1, 2, walk1_l, walk1_r},
  61.         {1, 2, walk2_l, walk2_r},
  62.         {1, 2, walk0_r, walk0_l},
  63.         {1, 2, walk1_r, walk1_l},
  64.         {1, 2, walk2_r, walk2_l},
  65.         {1, 2, stand, stand},
  66.  
  67.         {1, 2, guard_l, guard_r},        /* 防御 */
  68.  
  69.         {1, 2, lose, lose},            /* 負け */
  70.  
  71.         {1, 2, punch0, punch1},            /* パンチ */
  72.         {1, 2, punch1, punch0},
  73.         {1, 2, punch2, punch3},
  74.         {1, 2, punch3, punch2},
  75.  
  76.         {1, 2, jump0, jump0},            /* ジャンプ */
  77.         {1, 2, jump1, jump2},
  78.         {1, 2, jump3, jump3},
  79.         {1, 2, jump2, jump1},
  80.  
  81.         {1, 1, glove_l, glove_r},        /* グローブ */
  82.  
  83.         {1, 1, piyo0, piyo0},            /* ひよこ */
  84.         {1, 1, piyo1, piyo1},
  85.         {1, 1, piyo2, piyo2},
  86.         {1, 1, piyo3, piyo3}
  87. };
  88.  
  89.  
  90. #define    V(n, dn, ddn, t)    (int)((n)*65536.0),(int)((dn)*65536.0),(int)((ddn)*65536.0),t
  91.  
  92. /****************
  93.     シーケンス
  94.  ****************/
  95. static
  96. int    xy0[] = {    V(0.0, 0.0, 0.0, SEQ_END)
  97.     };
  98.  
  99. /*** 通常 *******/
  100. static
  101. short    normal_pat[] = {WALK0, 6, WALK1, 20, WALK0, 12, WALK2, 20, WALK0, 6, SEQ_LOOP};
  102. static
  103. int    normal_x[] = {    V(0.0, 0.24, -0.24*2/32, 32), V(0.0, -0.24, 0.24*2/32, 32),
  104.             V(0.0, 0.0, 0.0, SEQ_LOOP)
  105.     };
  106.  
  107. /*** 防御 *******/
  108. static
  109. short    guard_pat[] = {GUARD, SEQ_LOOP};
  110.  
  111. /*** くらい *******/
  112. static
  113. short    damage_pat[] = {JUMP0, SEQ_LOOP};
  114. static
  115. int    damage_x[] = {    V(0.0, -1.5, 1.5/8, 8), V(-6.0, 0.0, 0.0, 32),
  116.             V(-6.0, 6.0/32, 0.0, 32), V(0.0, 0.0, 0.0, SEQ_END)
  117.     };
  118. static
  119. int    damage_y[] = {    V(1.0, 0.0, 5.0*2/8/8, 8),
  120.             V(4.0, 0.0, 0.0, SEQ_END)
  121.     };
  122.  
  123. /*** 登場 *******/
  124. static
  125. short    ready_pat[] = {PUNCH0, 24, STAND1, 8, STAND0, 4, STAND2, 4,
  126.             PUNCH1, 24, STAND2, 8, STAND0, 4, STAND1, 4,
  127.             SEQ_LOOP};
  128. static
  129. int    ready_x[] = {    V(2.0, 1.0, -1.0/2, 2), V(3.5, 0.0, 0.0, 22),
  130.             V(0.0, 0.0, 0.0, 10 + 6),
  131.             V(-2.0, -1.0, 1.0/2, 2), V(-3.5, 0.0, 0.0, 22),
  132.             V(0.0, 0.0, 0.0, 10 + 6),
  133.             V(0.0, 0.0, 0.0, SEQ_LOOP)
  134.     };
  135.  
  136. /*** 勝ち *******/
  137. static
  138. short    win_pat[] = {PUNCH3, 8, JUMP0, 16, PUNCH2, 16 + 4, JUMP0, 16, PUNCH3, 8 + 4,
  139.             SEQ_LOOP};
  140. static
  141. int    win_x[] = {    V(-4.0, 8.0/32, 0.0, 32), V(4.0, 0.0, 0.0, 4),
  142.             V(4.0, -8.0/32, 0.0, 32), V(-4.0, 0.0, 0.0, 4),
  143.             V(-4.0, 0.0, 0.0, SEQ_LOOP)
  144.     };
  145. static
  146. int    win_y[] = {    V(0.0, -1.2, 1.2*2/32, 32), V(0.0, 0.0, 0.0, 4),
  147.             V(0.0, 0.0, 0.0, SEQ_LOOP)
  148.     };
  149.  
  150. /*** 負け *******/
  151. static
  152. short    lose_pat[] = {LOSE, SEQ_LOOP};
  153.  
  154. static
  155. short    piyo_pat[] = {PIYO0, 8, PIYO1, 8, PIYO2, 8, PIYO3, 8, SEQ_LOOP};
  156. static
  157. int    piyo_y[] = {    V(-10.0, 0.0, 0.0, SEQ_END)
  158.     };
  159.  
  160. /*** 百歩神拳 *******/
  161. static
  162. short    punch1_pat[] = {STAND1, 32, PUNCH0, 24, SEQ_END};
  163. static
  164. int    punch1_x[] = {    V(0.0, 0.0, 0.0, 32),
  165.             V(2.0, 1.0, -1.0/2, 2), V(3.5, 0.0, 0.0, SEQ_END)
  166.     };
  167.  
  168. static
  169. short    glove1_pat[] = {NOPUT, 32 + 8, GLOVE, 16, SEQ_END};
  170. static
  171. int    glove1_x[] = {    V(3.5, 0.0, 0.0, 32 + 8), V(3.5, 0.0, (58.0 - 3.5)*2/16/16, 16),
  172.             V(58.0, 0.0, 0.0, SEQ_END)
  173.     };
  174.  
  175. static
  176. short    punch2_pat[] = {PUNCH0, 8 + 24, JUMP0, 12, STAND0, 20, SEQ_END};
  177. static
  178. int    punch2_x[] = {    V(3.5, 0.0, 0.0, 8 + 24), V(1.0, 0.0, 0.0, 12),
  179.             V(0.0, 0.0, 0.0, SEQ_END)
  180.     };
  181. static
  182. int    punch2_y[] = {    V(0.0, 0.0, 0.0, 8 + 24), V(3.0, 0.0, 0.0, 12),
  183.             V(0.0, 0.0, 0.0, SEQ_END)
  184.     };
  185.  
  186. static
  187. short    glove2_pat[] = {GLOVE, 8, NOPUT, 56, SEQ_END};
  188. static
  189. int    glove2_x[] = {    V(58.0, 0.0, 0.0, SEQ_END)
  190.     };
  191.  
  192. /*** ヒップアタック *******/
  193. static
  194. short    hip1_pat[] = {JUMP1, 12, STAND1, 4 + 4, JUMP1, 36, JUMP0, 4, JUMP3, 8, SEQ_END};
  195. static
  196. int    hip1_x[] = {    V(0.0, -1.0, 0.0, 16), V(-16.0, 0.0, 0.0, 4),
  197.             V(-16.0, 76.0/48, 0.0, 48), V(60.0, 0.0, 0.0, SEQ_END)
  198.     };
  199. static
  200. int    hip1_y[] = {    V(0.0, -2.0, 2.0*2/16, 16), V(0.0, 0.0, 0.0, 4),
  201.             V(0.0, -4.0, 4.0*2/50, 48), V(-8.0, 0.0, 0.0, SEQ_END)
  202.     };
  203.  
  204. static
  205. short    hip2_pat[] = {JUMP3, 12 + 32,
  206.             BACK0, 4, BACK1, 6, BACK0, 4, BACK2, 6,
  207.             BACK0, 4, BACK1, 6, BACK0, 10, SEQ_END};
  208. static
  209. int    hip2_x[] = {    V(60.0, -0.5, 0.0, 12), V(54.0, 0.0, 0.0, 32),
  210.             V(54.0, 0.0, -27.0*2/20/20, 20),
  211.             V(27.0, -27.0*2/20, 27.0*2/20/20, 20),
  212.             V(0.0, 0.0, 0.0, SEQ_END)
  213.     };
  214. static
  215. int    hip2_y[] = {    V(-8.0, 0.0, 1.0*2/12, 12), V(4.0, 0.0, 0.0, 32),
  216.             V(0.0, 0.0, 0.0, SEQ_END)
  217.     };
  218.  
  219.  
  220. #define    NUL3    {NULL, NULL, NULL}
  221.  
  222. /**********************
  223.     キャラクタデータ
  224.  **********************/
  225. CHR_DATA    chr_jeans = {
  226.             {2, 6, 8,            /* 弱攻撃 */
  227.                 "100歩神拳",
  228.                 {{glove1_pat, glove1_x, xy0}, {punch1_pat, punch1_x, xy0}},
  229.                 {{glove2_pat, glove2_x, xy0},
  230.                     {punch2_pat, punch2_x, punch2_y}}
  231.             },
  232.             {5, 7, 16,            /* 強攻撃 */
  233.                 "ヒップアタック",
  234.                 {{hip1_pat, hip1_x, hip1_y}, NUL3},
  235.                 {{hip2_pat, hip2_x, hip2_y}, NUL3}
  236.             },
  237.  
  238.             "ジーン",            /* キャラクタ名 */
  239.             "JEANS",            /* スプライトファイル名 */
  240.             {"JEANS1", "JEANS2"},        /* パレットファイル名 */
  241.             chr_pat,            /* キャラクタパターン */
  242.             {                /* アニメーションシーケンス */
  243.             {{normal_pat, normal_x, xy0}, NUL3},        /* 通常 */
  244.             {{guard_pat, xy0, xy0}, NUL3},            /* 防御 */
  245.             {{damage_pat, damage_x, damage_y}, NUL3},    /* くらい */
  246.             {{ready_pat, ready_x, xy0}, NUL3},        /* 登場 */
  247.             {{win_pat, win_x, win_y}, NUL3},        /* 勝ち */
  248.             {{lose_pat, xy0, xy0}, {piyo_pat, xy0, piyo_y}}    /* 負け */
  249.             }
  250.         };
  251.  
  252. /********************* End of File ******************************************/